SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 45560: Hexadecimal assignment to a variable fails in PROC FCMP

DetailsAboutRate It

Assigning a variable a hexadecimal value like 01x in PROC FCMP when creating a function or subroutine results in an ERROR when the function or subroutine is called in the DATA step. An assignment of a hexadecimal value in PROC FCMP would be the following:

   Proc FCMP outlib=work.funcs.temp;
     Function testit();
       varx=01x;
     Return(varx);
   Endsub;

The workaround in SAS 9.2 is to use the INPUT function with the HEXw. informat to create the hexadecimal variable. Here is the above code modified using the INPUT function:

   Proc FCMP outlib=work.funcs.temp;
     Function testit();
       varx=input('01',hex.);
     Return(varx);
   Endsub;

This problem has been addressed in SAS 9.3 TS1M0.



Operating System and Release Information

Product FamilyProductSystemSAS Release
ReportedFixed*
SAS SystemBase SASz/OS9.2 TS1M09.3 TS1M0
Microsoft® Windows® for 64-Bit Itanium-based Systems9.2 TS1M09.3 TS1M0
Microsoft Windows Server 2003 Datacenter 64-bit Edition9.2 TS1M09.3 TS1M0
Microsoft Windows Server 2003 Enterprise 64-bit Edition9.2 TS1M09.3 TS1M0
Microsoft Windows XP 64-bit Edition9.2 TS1M09.3 TS1M0
Microsoft® Windows® for x649.2 TS1M09.3 TS1M0
Microsoft Windows Server 2003 Datacenter Edition9.2 TS1M09.3 TS1M0
Microsoft Windows Server 2003 Enterprise Edition9.2 TS1M09.3 TS1M0
Microsoft Windows Server 2003 Standard Edition9.2 TS1M09.3 TS1M0
Microsoft Windows XP Professional9.2 TS1M09.3 TS1M0
Windows Vista9.2 TS1M09.3 TS1M0
Windows Vista for x649.2 TS1M09.3 TS1M0
64-bit Enabled AIX9.2 TS1M09.3 TS1M0
64-bit Enabled HP-UX9.2 TS1M09.3 TS1M0
64-bit Enabled Solaris9.2 TS1M09.3 TS1M0
HP-UX IPF9.2 TS1M09.3 TS1M0
Linux9.2 TS1M09.3 TS1M0
Linux for x649.2 TS1M09.3 TS1M0
OpenVMS on HP Integrity9.2 TS1M09.3 TS1M0
Solaris for x649.2 TS1M09.3 TS1M0
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.